package com.nineclock.system.service;

import com.nineclock.model.dto.DepartmentOrUserSimpleDTO;
import com.nineclock.model.dto.SysDepartmentDTO;

import java.util.List;

public interface SysDepartmentService {
    List<SysDepartmentDTO> queryDepartmentList();

    void addDepartment(SysDepartmentDTO sysDepartmentDTO);

    List<Long> queryDepartmentIds();

    Integer queryUserCountByDepartmentId(List<Long> departmentIds);

    /**
     * 根据部门ID查询子部门及员工列表
     * @param departmentId 部门id
     * @param includeMember 0 为包含 ; 1 为 不包含
     * @return
     */
    List<DepartmentOrUserSimpleDTO> querySimleDepartment(Long departmentId, Integer includeMember);

    /**
     * 根据员工id获得部门从低到高级别的部门ID数组
     * @param companyUserId
     * @return
     */
    List<Long> queryDepartmentsByUserId(Long companyUserId);
}
